package com.itheima;

import com.itheima.service.BookService;
import com.itheima.service.Impl.BookServiceImpl;


/**
 * 入门案例要解决的问题：
 * 管理什么？  -->Service和Dao的实现类
 * 如何将需要被配置的对象告诉给IOC容器？  ->xml文件配置
 * 被管理的接口交给了IOC容器，如何获取IOC容器？  ->接口
 * 如何获取对象？     -->调用接口的方法
 * 使用Spring要什么配置？       -->导入spring-context坐标
 *
 *
 *
 * 首先什么是IOC?  -->IOC就是将对象的创建权由自己去new改为用IOC来创建，将对象的控制权交给外部容器
 *                -->控制反转
 *                -->DI就是如何将IOC容器中的对象注入到我声明的对象中
 *                -->还有就是如果IOC容器中两个对象之间存在调用关系，可以通过配置来解决
 *
 * 入门案例构建？
 * 1。直接使用新建项目，然后写个名字和坐标就行，进来后把Main函数删掉就变成了所谓的空maven项目
 * 2.创建service层和dao层，由于这里面没有@mapper注解，不会自动生成实现的对象，所以不光要定义BookDao接口，还要另创一个包实现BookDaoImpl类，并且实现BookDao接口
 * 3.同样创建一个service
 * 4.创建一个App类，写一个main方法，实现service的功能，以后基本都是在App类上操作的
 * 5.由于是Spring项目，我们在pom.xml中导入spring-context坐标
 * 6.resources中创建applicationContext.xml文件，这里面来配置bean        -->方法见该文件
 * 7.注入bean对象，见App1
 *
 * DI入门案例：
 * Service中用 new 创建的Dao对象删掉
 * Service中的Dao对象怎么导入？  -->添加一个set方法，
 * Service与Dao间的关系？     -->配置
 *
 */
public class App {

    public static void main(String[] args) {
        BookService bookService = new BookServiceImpl();
        bookService.save();
    }
}
